Skip to content

Refresh + simplify the epic template #16652

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Mar 21, 2023
Merged

Refresh + simplify the epic template #16652

merged 7 commits into from
Mar 21, 2023

Conversation

loujaybee
Copy link
Member

@loujaybee loujaybee commented Mar 3, 2023

I've recently been updating IDE team epics with @laushinka and we were looking back at this template for inspiration, however noticed a few things that I think would improve the template generally. Example implementation of the template:

Some changes / reasoning.

  • Make clear this is for user-facing work, not tech debt or investigations/discovery - I believe the fields / properties required for those types of work are too different from this template that it would not be of value. We should consider making more epic template for these different types of epics.
  • Remove (almost all) placeholders I wasn't sure how much the placeholders were adding value to the template, they make it feel quite overwhelming to me.
  • Make all fields optional - Yes, an argument can be made for some fields being required but I believe being more liberal will increase usage of the template.

Release Notes

NONE

title: "Epic: "
labels: ["type: epic"]
body:
- type: markdown
attributes:
value: Before raising an epic, please search for existing epics[[1](https://github.com/gitpod-io/gitpod/issues?q=is%3Aopen+is%3Aissue+label%3A%22type%3A+epic%22)][[2](https://github.com/gitpod-io/gitpod/issues?q=is%3Aopen+is%3Aissue+%22Epic%3A+%22)] to avoid creating duplicates. Read more about [Epics](https://www.notion.so/gitpod/Development-Process-2-0-6681854173ab4d2f92880f9f3d85cab5#321619f5a4bd4391be83c66feb2cdb49) (internal) in **Development Process**.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this "don't duplicate" can be implied, I'm not sure it adds much value, only select Gitpodders are really creating or concerned with epics. Also, I think we should remove the template from the RFC, and have this template as the single source of truth, making a link back redundant.

- type: textarea
id: summary
id: press-release
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed summary, pulled the press release field up top. @laushinka mentioned we could rename, however I would suggest to keep for now, since it's part of the (well documented) PRFAQ framework, so by keeping the name it makes it more clear that it's aligned with that philosophy. As with all other fields, is now optional, though.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: A better alternative could be Release Notes. However, this would require us to be more intentional with this field and how we use it. Let's give it a go.

description: If we do X, we expect Y
placeholder: Can be useful if the work is explicitly experimental.
description: Optionally specifiy which user will be impacted by this change?
placeholder: [Developer/Installer/Project Configurer/Customer/Security Reviewer] (optionally the ecosystem persona e.g. Python Developers)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I almost think we should remove this field, however I think bringing some of our already existing internal persona definitions into this template might make it easier for people to understand what the field is for, and what values they might want to consider entering here.

attributes:
label: Growth Area
description: Which aspect of Gitpod do we expect improvements in? Acquisition/Onboarding/Exploration/Expansion as defined in [Funnel Proposal](https://www.notion.so/gitpod/Funnel-Proposal-d7d0dba8aced4184b660092a74f8dd3a) (internal)
placeholder: Growth is key. This allows us to frame epics from a growth context. Which areas are we expecting this epic to help us with our growth initiatives?
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whilst I believe to be valuable, I don't think the growth area model is well understood in Gitpod right now, I suggest removing, and consider re-adding in future.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thought: Good point—something to consider improving collectively. 💭

@loujaybee loujaybee changed the title Update epic.yml Refresh + simplify the epic template Mar 3, 2023
@loujaybee loujaybee requested review from gtsiolis and laushinka March 3, 2023 10:50
Copy link
Contributor

@gtsiolis gtsiolis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @loujaybee! 🌮 🌮

It's nice to see our team becoming[1][2] more intentional with issue forms. Looking forward to seeing more changes like this. Left some minor comments and thoughts below.

praise: It's great to see this form becoming more relaxed and easier to use. ✨

issue: One issue I see with this PR is how this breaks the single source of truth (SSOT) for the epic template, as this issue form was initially aiming to duplicate what already exists in PDE / Development Process 2.0 / Epics. ❗

suggestion: I'd suggest replacing the handbook section containing the epic contents with a brief description or a link back to this issue template to maintain a SSOT. 💡

name: Epic
description: Create an epic
name: Epic (User Impacting)
description: An epic is a grouping of related issues which MUST be delivered together. Epics are as small in scope as reasonably possible, and are "finite" in scope. Please do not use this template for: categorising related work (please instead use labels), investigate work where the solutions is not well defined (e.g. investgiations + spikes), or for technical debt work.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: I don't think you can add a description here, right? I also see an error for this line change—probably needs to be moved below in L8.

Screenshot 2023-03-03 at 13 40 48

- type: textarea
id: summary
id: press-release
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: A better alternative could be Release Notes. However, this would require us to be more intentional with this field and how we use it. Let's give it a go.

validations:
required: true
required: false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: Since we're making this optional it could be nice to stress this is optional in the description above since not every epic will have a press release or announcement bit.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not every epic will have a press release or announcement

Good point. It could be "If this feature would have an announcement, what would it look like from ..."
I think this Press Release section aims to encourage epic authors to explain the value of the feature to everyone regardless of technical background.

attributes:
label: Growth Area
description: Which aspect of Gitpod do we expect improvements in? Acquisition/Onboarding/Exploration/Expansion as defined in [Funnel Proposal](https://www.notion.so/gitpod/Funnel-Proposal-d7d0dba8aced4184b660092a74f8dd3a) (internal)
placeholder: Growth is key. This allows us to frame epics from a growth context. Which areas are we expecting this epic to help us with our growth initiatives?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thought: Good point—something to consider improving collectively. 💭

label: Hypothesis
description: If we do X, we expect Y
placeholder: Can be useful if the work is explicitly experimental.
description: Optionally specifiy which user will be impacted by this change?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thought: Removing this is also a sign of low maturity level on how we use personas during our product development flow. It would be nice if instead we could reuse and reinforce some past reference work regarding personas, see relevant section in the handbook. 📙

description: If we do X, we expect Y
placeholder: Can be useful if the work is explicitly experimental.
description: Optionally specifiy which user will be impacted by this change?
placeholder: [Developer/Installer/Project Configurer/Customer/Security Reviewer] (optionally the ecosystem persona e.g. Python Developers)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: This could list an example or personas and also link back to the single source of truth (SSOT) of the personas list.

label: Press release
description: Create excitement about the idea
placeholder: Useful if you want to spend the extra time to get stakeholders, the team, or customers excited.
description: Optionally make explicit any complexities, e.g. dependencies on other teams, technical challenges, unknowns.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: Does it help to have the optionally prefix in the label? If yes, is it accurate to use a comma or prefix it with parenthesis in all text labels? For example:

// Option :A:
Optionally, make explicit any complexities, e.g. dependencies on other teams, technical challenges, unknowns. 

// Option B:
(Optional) Make explicit any complexities, e.g. dependencies on other teams, technical challenges, unknowns. 

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Option B looks good - it gives more emphasis to the part in brackets.

@gtsiolis
Copy link
Contributor

gtsiolis commented Mar 3, 2023

To clarify, none of my comments[1][2][3] above are blocking or implying we should fix something before merging this. 💡

The intent behind most comments above was to:

  1. Aim for having a single source of truth (SSOT).
  2. Potentially make that PDE / Development Process 2.0 / Epics section slightly more useful. Cc @karishay
  3. Push us to be more intentional with maintaining such process in the handbook.

Cc @atduarte @laushinka @loujaybee

@roboquat roboquat merged commit ff298a4 into main Mar 21, 2023
@roboquat roboquat deleted the update-epic-template branch March 21, 2023 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants